The present disclosure relates generally to message management services that act as intermediaries between messaging services and client devices, and in particular to message management services with distributed synchronization data across the client devices.
Individuals are becoming increasingly reliant on electronic messaging services, such as email services, instant messaging services, SMS/MMS (also referred to as text-messaging) services, and so on. Such services allow users to send and receive messages. In some instances, the services may also provide additional features related to managing messages, such as the ability to store or archive messages in folders, delete messages, search stored messages, and so on.
Many users who rely on electronic messaging services carry mobile devices, such as smart phones and tablets, that are capable of connecting to various data networks and acting as clients of an electronic messaging service. For example, a client device can receive messages from one or more services and can provide a user interface that allows the user to interact with messages, e.g., by replying to messages, deleting messages, archiving messages, composing new messages to be sent, etc. When connected to a data network, the client device can communicate updates from the messaging service to the user and can communicate instructions to the messaging service to implement user actions.
A client device's connection to a messaging service can be intermittent. For example, a user may power off the client device (or its RF transceivers) in various circumstances, or the transceivers may be on but unable to connect to a data network. Depending on how the client device is configured, the user may be able to interact with locally stored copies of messages while the client device is not connected to the messaging service. This can lead to loss of synchronization between the client and the messaging service, such that the state of the messages on the client device no longer matches the state of the messages at the messaging service with which the client communicates.